package Java练习.面向对象综合练习.基础;

import java.util.Scanner;

public class StudentText2 {
    public static void main(String[] args) {
        //定义数组
        Student[] arr=new Student[3];
        //创建学生对象并添加到数组
        Student stu1=new Student(1,"张三",23);
        Student stu2=new Student(2,"李四",22);
        Student stu3=new Student(3,"王五",24);
        //把学生对象添加到数组当中
        arr[0]=stu1;
        arr[1]=stu2;
        arr[2]=stu3;
        Scanner sc=new Scanner(System.in);

        //问题3:通过id删除学生信息,存在则删除,不存在,则提示
        //1.键盘接收要查找的学生信息
        System.out.print("请输入你要删除的学生id:");
        int input_id=sc.nextInt();
        //2.判断该id在数组中是否存在
        int answer=select(arr,input_id);
        //2.1 不存在,则给出不存在提示
        if (answer==-1){
            System.out.println("该id在数据中不存在!");
        }else {
            //2.2 存在,删除
            arr[answer]=null;
            System.out.println("删除成功!");
        }
        //查看删除后的学生信息;
        for (int i = 0; i < arr.length; i++) {
            Student stu=arr[i];
            //确保学生存在这个数组中,防止报错.
            if(stu!=null){
                //打印对应学生信息
                System.out.println(stu.getId()+','+stu.getName()+','+stu.getAge());
            }
        }
    }
    //判断id是否存在方法;
    public static int select(Student[] num,int id){
        for (int i = 0; i < num.length; i++) {
            //判断每个学生对象都存在数组当中,排除不存在的索引位(数组中已经存在的学生id),防止报错
            Student stu=num[i];
            if(stu!=null){
                if(id==stu.getId()){
                    return id;
                }
            }
        }
        return -1;//  Java中不存在-1索引.
    }
}
